package com.stylefeng.guns.common.persistence.model;

import java.io.Serializable;

import java.util.Date;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import com.stylefeng.guns.common.annotion.EmpCode;
import com.stylefeng.guns.common.annotion.Point;
import com.stylefeng.guns.common.annotion.PointType;
import com.stylefeng.guns.common.annotion.Year;
import com.stylefeng.guns.common.constant.PointConstType;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;

/**
 * <p>
 * 
 * </p>
 *
 * @author jondai
 * @since 2018-02-01
 */
@TableName("protech_train_points")
@PointType(PointConstType.protechTrainPoints)
public class ProtechTrainPoints extends Model<ProtechTrainPoints> {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
	@TableId(value="id", type= IdType.UUID)
	private String id;
	/**
	 * 年度
	 */
	@Year
	@Excel(name = "年度",width = 20)
	private String year;
    /**
     * 员工编码
     */
	@TableField("emp_code")
	@Excel(name = "员工编号",width = 20)
	@EmpCode
	private String empCode;
	/**
	 * 员工姓名
	 */
	@TableField("emp_name")
	@Excel(name = "员工姓名",width = 20)
	private String empName;
    /**
     * 专业技术资格系列
     */
	@TableField("major_type")
	@Excel(name = "专业技术资格系列",width = 20)
	private String majorType;
    /**
     * 专业等级编码
     */
	@TableField("major_level_code")
	private String majorLevelCode;
    /**
     * 专业技术资格等级
     */
	@TableField("major_level")
	@Excel(name = "专业技术资格等级",width = 20)
	private String majorLevel;
    /**
     * 专业技术资格名称
     */
	@TableField("major_name")
	@Excel(name = "专业技术资格名称",width = 20)
	private String majorName;
    /**
     * 取得方式
     */
	@TableField("get_type")
	@Excel(name = "取得方式",width = 20)
	private String getType;
    /**
     * 鉴定机构
     */
	@TableField("appraisal_org")
	@Excel(name = "鉴定机构",width = 20)
	private String appraisalOrg;
    /**
     * 批准文件
     */
	@TableField("approval_doc")
	@Excel(name = "批准文件",width = 20)
	private String approvalDoc;
    /**
     * 证书编号
     */
	@TableField("certificate_num")
	@Excel(name = "证书编号",width = 20)
	private String certificateNum;
    /**
     * 发文日期
     */
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@TableField("dispatch_date")
	@Excel(name = "发文日期", databaseFormat = "yyyy-MM-dd", format = "yyyy-MM-dd",width = 20)
	private Date dispatchDate;
    /**
     * 审批单位
     */
	@TableField("examine_org")
	@Excel(name = "审批单位",width = 20)
	private String examineOrg;
    /**
     * 积分
     */
	@Point
	@Excel(name = "积分",width = 15)
	private Double integral;
    /**
     * 创建日期
     */
	@TableField("create_date")
	private Date createDate;
    /**
     * 数据来源
     */
	@TableField("data_origin")
	private String dataOrigin;


	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getEmpName() {
		return empName;
	}

	public void setEmpName(String empName) {
		this.empName = empName;
	}

	public String getEmpCode() {
		return empCode;
	}

	public void setEmpCode(String empCode) {
		this.empCode = empCode;
	}

	public String getMajorType() {
		return majorType;
	}

	public void setMajorType(String majorType) {
		this.majorType = majorType;
	}

	public String getMajorLevelCode() {
		return majorLevelCode;
	}

	public void setMajorLevelCode(String majorLevelCode) {
		this.majorLevelCode = majorLevelCode;
	}

	public String getMajorLevel() {
		return majorLevel;
	}

	public void setMajorLevel(String majorLevel) {
		this.majorLevel = majorLevel;
	}

	public String getMajorName() {
		return majorName;
	}

	public void setMajorName(String majorName) {
		this.majorName = majorName;
	}

	public String getGetType() {
		return getType;
	}

	public void setGetType(String getType) {
		this.getType = getType;
	}

	public String getAppraisalOrg() {
		return appraisalOrg;
	}

	public void setAppraisalOrg(String appraisalOrg) {
		this.appraisalOrg = appraisalOrg;
	}

	public String getApprovalDoc() {
		return approvalDoc;
	}

	public void setApprovalDoc(String approvalDoc) {
		this.approvalDoc = approvalDoc;
	}

	public String getCertificateNum() {
		return certificateNum;
	}

	public void setCertificateNum(String certificateNum) {
		this.certificateNum = certificateNum;
	}

	public Date getDispatchDate() {
		return dispatchDate;
	}

	public void setDispatchDate(Date dispatchDate) {
		this.dispatchDate = dispatchDate;
	}

	public String getExamineOrg() {
		return examineOrg;
	}

	public void setExamineOrg(String examineOrg) {
		this.examineOrg = examineOrg;
	}

	public String getYear() {
		return year;
	}

	public void setYear(String year) {
		this.year = year;
	}

	public Double getIntegral() {
		return integral;
	}

	public void setIntegral(Double integral) {
		this.integral = integral;
	}

	public Date getCreateDate() {
		return createDate;
	}

	public void setCreateDate(Date createDate) {
		this.createDate = createDate;
	}

	public String getDataOrigin() {
		return dataOrigin;
	}

	public void setDataOrigin(String dataOrigin) {
		this.dataOrigin = dataOrigin;
	}

	@Override
	protected Serializable pkVal() {
		return this.id;
	}

	@Override
	public String toString() {
		return "ProtechTrainPoints{" +
			"id=" + id +
			", empName=" + empName +
			", empCode=" + empCode +
			", majorType=" + majorType +
			", majorLevelCode=" + majorLevelCode +
			", majorLevel=" + majorLevel +
			", majorName=" + majorName +
			", getType=" + getType +
			", appraisalOrg=" + appraisalOrg +
			", approvalDoc=" + approvalDoc +
			", certificateNum=" + certificateNum +
			", dispatchDate=" + dispatchDate +
			", examineOrg=" + examineOrg +
			", year=" + year +
			", integral=" + integral +
			", createDate=" + createDate +
			", dataOrigin=" + dataOrigin +
			"}";
	}
}
